//
// File:	Window.hpp
// Author:	Thomas TISSOT-DUPONT
// Login:	<thomas.tissotdupont@free.fr>
//
// Create:	28/01/2010 at 17:36:13
// Purpose:	
//
#ifndef WINDOW_HPP
#define WINDOW_HPP

#include <QtGui/QWidget>
#include "IWindow.hpp"

class Window : public QWidget, public IWindow
{
	Q_OBJECT

public:
				Window(const std::string &windowTitle = "", int iWidth = 0, int iHeight = 0, bool bFullScreen = false);
				~Window();

public:
	void		SetWindowTitle(const std::string &);
	void		SetWindowSize(int, int);
	void		SetFullScreen(bool);

public:
	bool		Render();

public:
	int			GetWidth() const;
	int			GetHeight() const;
	int			GetReferenceWidth() const;
	int			GetReferenceHeight() const;

protected:
	void		closeEvent(QCloseEvent *);

signals:
	void		closed();

protected:
	int			m_iWidth;
	int			m_iHeight;
};

#endif //!WINDOW_HPP
